import { pathName } from 'src/setting';

/**
 * 获取天地图key
 */
function getTiandituKey() {
  const arr = [
    '102d283b194517177f9266559f800791',
    'bf2f3593b484c30927f157cd862468ae',
    '0eeda49235411fb1dc13900c3ed1c1e7',
    'cb0f0bfda97d7591f8c7537b92faff1e',
    '0d729a880d914789da83e869a5345772',
    '364914a642567f53d96d02c49e6a3287',
    '1cc221a18eccd288400ac3711828dc4d',
    'bd22ce45630404889ed62e9270ec7878',
  ];
  const index = Math.round(Math.random() * 7);
  return arr[index];
}

// 实例化要加载的source来源对象（全球矢量图）
const vecsrc = {
  // 来源类型为栅格瓦片
  type: 'raster',
  tiles: [
    // 来源请求地址，请求天地图提供的全球矢量地图WMTS服务
    `http://t0.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=${getTiandituKey()}`, // parent.getTiandituKey()为天地图密钥
  ],
  // 栅格瓦片的分辨率
  tileSize: 256,
};
// 实例化要加载的source来源对象（全球矢量中文注记）
const cvasrc = {
  // 来源类型为栅格瓦片
  type: 'raster',
  tiles: [
    // 来源请求地址，请求天地图提供的全球矢量中文注记WMTS服务
    `http://t0.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=${getTiandituKey()}`, // parent.getTiandituKey()为天地图密钥
  ],
  // 栅格瓦片的分辨率
  tileSize: 256,
};
// 实例化要加载的source来源对象（全球影像图）
const imgsrc = {
  // 来源类型为栅格瓦片
  type: 'raster',
  tiles: [
    // 来源请求地址，请求天地图提供的全球影像图WMTS服务
    `http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=${getTiandituKey()}`, // parent.getTiandituKey()为天地图密钥
  ],
  // 栅格瓦片的分辨率
  tileSize: 256,
};
// 实例化要加载的source来源对象（全球影像中文注记）
const ciasrc = {
  // 来源类型为栅格瓦片
  type: 'raster',
  tiles: [
    // 来源请求地址，请求天地图提供的全球影像中文注记WMTS服务
    `http://t0.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=${getTiandituKey()}`, // parent.getTiandituKey()为天地图密钥
  ],
  // 栅格瓦片的分辨率
  tileSize: 256,
};
// 实例化要加载的source来源对象（全球地形渲染图）
const tersrc = {
  // 来源类型为栅格瓦片
  type: 'raster',
  tiles: [
    // 来源请求地址，请求天地图提供的全球地形渲染图WMTS服务
    `http://t0.tianditu.gov.cn/ter_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=${getTiandituKey()}`, // parent.getTiandituKey()为天地图密钥
  ],
  // 栅格瓦片的分辨率
  tileSize: 256,
};

export default {
  baseUrl: window.origin,
  styleType: 'mapbox',
  jServer: {
    // 设置版本号，一定要设置
    version: 8,
    glyphs: `just://api.justserver.com/${pathName}/{fontstack}/{range}.pbf`,
    // 添加来源
    sources: {
      vecsrc,
      cvasrc,
      imgsrc,
      ciasrc,
      tersrc,
    },
    // 设置加载并显示来源的图层信息
    layers: [
      {
        // 图层id，要保证唯一性
        id: 'vecsrc',
        // 图层类型
        type: 'raster',
        // 连接图层来源
        source: 'vecsrc',
        // 图层最小缩放级数
        minzoom: 0,
        // 图层最大缩放级数
        maxzoom: 17,
      },
      {
        // 图层id，要保证唯一性
        id: 'cvasrc',
        // 图层类型
        type: 'raster',
        // 连接图层来源
        source: 'cvasrc',
        // 图层最小缩放级数
        minzoom: 0,
        // 图层最大缩放级数
        maxzoom: 17,
      },
    ],
  },
};
